home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 March / PCWorld_2008-03_cd.bin / v cisle / mediacoder / MediaCoder-0.6.1.4045.exe / extensions / x264.7z / extension.xsl < prev    next >
Extensible Markup Language  |  2007-03-06  |  13KB  |  177 lines

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <!-- DWXMLSource="extension.xml" -->
  4. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  5.   <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
  6.   <!--Include extension shared xsl-->
  7.   <xsl:include href="../_include/extbase.xsl"/>
  8.   <xsl:template match="/extension">
  9.     <html xmlns="http://www.w3.org/1999/xhtml">
  10.     <head>
  11.     <title>MediaCoder <xsl:value-of select="name"/></title>
  12.     <link href="../_css/style.css" rel="stylesheet"/>
  13.     <script src="x264setup.js" langauge="javascript"></script>
  14.     <xsl:call-template name="InitExtension"/>
  15.     </head>
  16.     <body class="extension" background="/img/back.png" onload="onPageLoad()" onunload="Unload()"> 
  17. <div> 
  18.   <h1 align="center">MediaCoder x264 Setup</h1> 
  19. </div> 
  20. <table id="TABLE1" width="100%" border="0"> 
  21.   <tr> 
  22.     <td bgcolor="#cccccc" colspan="2"><strong>Generic</strong></td> 
  23.   </tr> 
  24.   <tr> 
  25.     <td width="138"></td> 
  26.     <td width="854"></td> 
  27.   </tr> 
  28.   <tr valign="top"> 
  29.     <td width="138"> <p>Mode</p></td> 
  30.     <td width="854"> <p> 
  31. <xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='mode']"/></xsl:call-template>              </p></td> 
  32.   </tr> 
  33.   <tr valign="middle"> 
  34.     <td width="138"> <div id="bq">Bitrate</div></td> 
  35.     <td><xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='bitrate']"/></xsl:call-template> KBps</td> 
  36.   </tr> 
  37.   <tr valign="top"> 
  38.     <td width="138"> <div id="bq">Quality<br/>
  39.       (0~100)
  40.     </div></td> 
  41.     <td><xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='quality']"/></xsl:call-template>
  42. (for quality-based mode only)    </td> 
  43.   </tr> 
  44.   <tr valign="middle"> 
  45.     <td> </td> 
  46.     <td> </td> 
  47.   </tr> 
  48.   <tr valign="middle"> 
  49.     <td bgcolor="#cccccc" colspan="2"><strong>Bitstream Level</strong></td> 
  50.   </tr> 
  51.   <tr valign="middle"> 
  52.     <td width="138">Level Number </td> 
  53.     <td><xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='level']"/></xsl:call-template>        </td> 
  54.   </tr> 
  55.   <tr valign="middle"> 
  56.     <td> </td> 
  57.     <td><table width="100%" border="1"> 
  58.         <tr bgcolor="#CCCCCC" align="center"> 
  59.           <td> Max macroblocks per second </td> 
  60.           <td> Max frame size (macroblocks) </td> 
  61.           <td> Max video bit rate (VCL) for Baseline, Extended and Main Profile </td> 
  62.           <td> Max video bit rate (VCL) for High Profile </td> 
  63.           <td> Max video bit rate (VCL) for High 10 Profile </td> 
  64.           <td> Max video bit rate (VCL) for High 4:2:2 and High 4:4:4 Profile </td> 
  65.           <td> Examples for high resoluton/framerate in this profile </td> 
  66.         </tr> 
  67.         <tr align="center" id="lt"> 
  68.           <td></td> 
  69.           <td></td> 
  70.           <td></td> 
  71.           <td></td> 
  72.           <td></td> 
  73.           <td></td> 
  74.           <td></td>
  75.         </tr> 
  76.       </table></td> 
  77.   </tr> 
  78.   <tr valign="middle"> 
  79.     <td> </td> 
  80.     <td> </td> 
  81.   </tr> 
  82.   <tr valign="middle"> 
  83.     <td bgcolor="#cccccc" colspan="2"><strong>Speed and Quality</strong></td> 
  84.   </tr> 
  85.   <tr> 
  86.     <td width="138"></td> 
  87.     <td></td> 
  88.   </tr> 
  89.   <tr valign="top"> 
  90.     <td width="138"> <p>Subpel Refinement Quality</p></td> 
  91.     <td><xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='subq']"/></xsl:call-template>
  92.       <p>The highest Value is the slowest and highest quality mode. In comparison to value of 5, value of 6 usually gains 0.1-0.4 dB global PSNR with speed costs varying from 25%-100%. Unlike other levels of subq , the behavior of value of 6 does not depend much on frameref and me . Instead, the effectiveness of value of 6 depends mostly upon the number of B-frames used. In normal usage, this means value of 6 has a large impact on both speed and quality in complex, high motion scenes, but it may not have much effect in low-motion scenes. Note that it is still recommended to always set bframes to something other than zero.</p> 
  93.       <p> </p></td> 
  94.   </tr> 
  95.   <tr valign="top"> 
  96.     <td width="138">Frame Reference<br/> 
  97.       (0~16)</td> 
  98.     <td><xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='frameref']"/></xsl:call-template>
  99.       <p>Merely raising the value to 2 gains around 0.15dB PSNR with a 5-10% speed penalty; this seems like a good tradeoff. value of 3 gains around 0.25dB PSNR over value of 1 , which should be a visible difference. Value of 3 is around 15% slower than value of 1 . Unfortunately, diminishing returns set in rapidly. Value of 6 can be expected to gain only 0.05-0.1 dB over value of 3 at an additional 15% speed penalty. Above value of 6 , the quality gains are usually very small. In a fairly typical case, value of 12 will improve global PSNR by a tiny 0.02dB over value of 6 , at a speed cost of 15%-20%.</p> 
  100.       <p> </p></td> 
  101.   </tr> 
  102.   <tr valign="top"> 
  103.     <td width="138">Motion Estimation </td> 
  104.     <td> <p> 
  105. <xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='me']"/></xsl:call-template></p> 
  106.       <p> This option is for choosing the motion estimation search method. Altering this option provides a straightforward quality-vs-speed tradeoff. me= dia is only a few percent faster than the default search, at a cost of under 0.1dB global PSNR. Hexagon Search is a reasonable tradeoff between speed and quality. Uneven Multi-hexagon gains a little under 0.1dB global PSNR, with a speed penalty that varies depending on frameref . At high values of frameref (e.g. 12 or so), Uneven Multi-hexagon is about 40% slower than the Hexagon Search. With frameref=3 , the speed penalty incurred drops to 25%-30%. </p> 
  107.       <p> </p></td> 
  108.   </tr> 
  109.   <tr valign="top"> 
  110.     <td width="138">8x4, 4x8 and 4x4 subpartitions</td> 
  111.     <td> 
  112.         <xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='p8x8dct']"/></xsl:call-template>
  113.       <p>This option enables the use of 8x4, 4x8 and 4x4 subpartitions in predicted macroblocks (in addition to the default partitions). Enabling it results in a fairly consistent 10%-15% loss of speed. This option is rather useless in source containing only low motion, however in some high-motion source, particularly source with lots of small moving objects, gains of about 0.1dB can be expected.</p> 
  114.       <p> </p></td> 
  115.   </tr> 
  116.   <tr valign="top"> 
  117.     <td>Number of B-frames<br/> 
  118.       (0~16)</td> 
  119.     <td><xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='bframes']"/></xsl:call-template>
  120.       <p>In H.264, B-frames are useful: there are new techniques and block types that are possible in B-frames. Usually, even a naive B-frame choice algorithm can have a significant PSNR benefit. It is interesting to note that using B-frames usually speeds up the second pass somewhat, and may also speed up a single pass encode if adaptive B-frame decision is turned off. </p> 
  121.       <p> With adaptive B-frame decision turned off, the optimal value for this setting is usually no more than 1 , or else high-motion scenes can suffer. With adaptive B-frame decision on, it is safe to use higher values; the encoder will reduce the use of B-frames in scenes where they would hurt compression. The encoder rarely chooses to use more than 3 or 4 B-frames; setting this option any higher will have little effect. </p> 
  122.       <p>  </p></td> 
  123.   </tr> 
  124.   <tr valign="top"> 
  125.     <td> B-frame Decision</td> 
  126.     <td><xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='b_adapt']"/></xsl:call-template>
  127.       <p>With this option enabled, the encoder will use a reasonably fast decision process to reduce the number of B-frames used in scenes that might not benefit from them as much. You can use b_bias to tweak how B-frame-happy the encoder is. The speed penalty of adaptive B-frames is currently rather modest, but so is the potential quality gain. It usually does not hurt, however. Note that this only affects speed and frametype decision on the first pass. b_adapt and b_bias have no effect on subsequent passes. </p> 
  128.       <p> </p></td> 
  129.   </tr> 
  130.   <tr valign="top"> 
  131.     <td> Pyramid</td> 
  132.     <td>
  133.     <xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='b_pyramid']"/></xsl:call-template>
  134.     <p>You might as well enable this option if you are using >=2 B-frames; as the man page says, you get a little quality improvement at no speed cost. </p> 
  135.       <p> </p></td> 
  136.   </tr> 
  137.   <tr valign="top"> 
  138.     <td> Weighted Prediction </td> 
  139.     <td><xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='weight_b']"/></xsl:call-template>
  140.       <p>In typical cases, there is not much gain with this option. However, in crossfades or fade-to-black scenes, weighted prediction gives rather large bitrate savings. In MPEG-4 ASP, a fade-to-black is usually best coded as a series of expensive I-frames; using weighted prediction in B-frames makes it possible to turn at least some of these into much smaller B-frames. Encoding time cost is minimal, as no extra decisions need to be made. Also, contrary to what some people seem to guess, the decoder CPU requirements are not much affected by weighted prediction, all else being equal. <br/> 
  141.         Unfortunately, the current adaptive B-frame decision algorithm has a strong tendency to avoid B-frames during fades. Until this changes, it may be a good idea to turn off B-frame Decision, if you expect fades to have a large effect in your particular video clip. </p> 
  142.       <p> </p></td> 
  143.   </tr> 
  144.   <tr valign="middle"> 
  145.     <td> </td> 
  146.     <td> </td> 
  147.   </tr> 
  148.   <tr valign="top"> 
  149.     <td bgcolor="#cccccc" colspan="2"><strong>Miscellaneous Preferences</strong></td> 
  150.   </tr> 
  151.   <tr valign="top"> 
  152.     <td></td> 
  153.     <td></td> 
  154.   </tr> 
  155.   <tr valign="top"> 
  156.     <td>Quantization Compression<br/> 
  157.       (0~100)</td> 
  158.     <td> <p> 
  159. <xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='qcomp']"/></xsl:call-template>              </p> 
  160.       <p>This trades off the number of bits allocated to "expensive" high-motion versus "cheap" low-motion frames. At one extreme, value of 0 aims for true constant bitrate. Typically this would make high-motion scenes look completely awful, while low-motion scenes would probably look absolutely perfect, but would also use many times more bitrate than they would need in order to look merely excellent. At the other extreme, value of 100 achieves nearly constant quantization parameter (QP). Constant QP does not look bad, but most people think it is more reasonable to shave some bitrate off of the extremely expensive scenes (where the loss of quality is not as noticeable) and reallocate it to the scenes that are easier to encode at excellent quality.</p> 
  161.       <p> </p></td> 
  162.   </tr> 
  163.   <tr valign="top"> 
  164.     <td> Maximum I-frame interval</td> 
  165.     <td>
  166.     <xsl:call-template name="AddElement"><xsl:with-param name="element" select="elements/element[@id='keyint']"/></xsl:call-template>
  167.       <p>This setting is solely for trading off file seekability against coding efficiency. Value of 250, in 25fps material, this guarantees the ability to seek to within 10 seconds precision. If you think it would be important and useful to be able to seek within 5 seconds of precision, set it to 125 ; this will hurt quality/bitrate slightly. If you care only about quality and not about seekability, you can set it to much higher values. The video stream will still have seekable points as long as there are some scene changes.</p></td> 
  168.   </tr> 
  169. </table> 
  170. <p align="center"> 
  171.   <input type="button" value="Start Transcoding" onclick="SendCommand('transcode')"/> 
  172. </p> 
  173.     </body>
  174.     </html>
  175.   </xsl:template>
  176. </xsl:stylesheet>
  177.